//
//  BiModifyListViewController.m
//  TrunkIndustryManageSystem
//
//  Created by WT_lyy on 15/5/5.
//  Copyright (c) 2015年 李璐西. All rights reserved.
//

#import "BiModifyListViewController.h"
#import "BiModifyContentViewController.h"
#import "BiModifyListCell.h"
#import "BiCarModifyEntity.h"
#import "MJRefresh.h"
@interface BiModifyListViewController ()<UITableViewDataSource,UITableViewDelegate>{
    
    UITableView * _tableView;
    
    NSMutableArray * _listArray;
}


@end

@implementation BiModifyListViewController

- (id)init{
    
    self = [super init];
    
    if (self) {
        
        _listArray = [NSMutableArray new];
    }
    
    return self;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self setNavBackBtn];

    [self setNavBarTitle:@"合格证列表"];
    
    [self setNavBarWithHidden:NO];
    
    _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, [self viewTop], MAIN_SCREEN_WIDTH, MAIN_SCREEN_HEIGHT - [self viewTop])];
    
    _tableView.delegate = self;
    
    _tableView.dataSource = self;
    
    [self.view addSubview:_tableView];
    
    _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    
    _tableView.rowHeight = 80;
    
    [self setupRefresh];
}


- (void)viewWillAppear:(BOOL)animated{

    [super viewWillAppear:animated];
    
    NSDictionary * paraDic = [NSDictionary dictionaryWithObjectsAndKeys:[BiUserEntity sharedInstance].userid,@"userId",
                              @"1",@"page",
                              PAGESIZE,@"pageSize",
                              @"2",@"status",
                              nil];
    
    [[BiNetEngine shareInstance] requestCarModifyGetList:self paraDict:paraDic];
    
    [self asyshowHUDView:WAITING CurrentView:self];
}

/**
 *  集成刷新控件
 */
- (void)setupRefresh
{
    // 1.下拉刷新(进入刷新状态就会调用self的headerRereshing)
    [_tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
    
    // 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing)
    [_tableView addFooterWithTarget:self action:@selector(footerRereshing)];
    
    // 设置文字(也可以不设置,默认的文字在MJRefreshConst中修改)
    _tableView.headerPullToRefreshText = @"下拉刷新";
    _tableView.headerReleaseToRefreshText = @"松开即可刷新";
    _tableView.headerRefreshingText = @"刷新中~";
    
    _tableView.footerPullToRefreshText = @"上拉加载更多数据";
    _tableView.footerReleaseToRefreshText = @"松开马上加载";
    _tableView.footerRefreshingText = @"加载中~";
}


#pragma mark 开始进入刷新状态
- (void)headerRereshing
{

    
    NSDictionary * paraDic = [NSDictionary dictionaryWithObjectsAndKeys:[BiUserEntity sharedInstance].userid,@"userId",
                              @"1",@"page",
                              PAGESIZE,@"pageSize",
                              @"2",@"status",
                              nil];
    
    [[BiNetEngine shareInstance] requestCarModifyGetList:self paraDict:paraDic];
    


}

- (void)fffff{
    
    [_tableView headerEndRefreshing];
    [_tableView footerEndRefreshing];
    
}

- (void)footerRereshing
{
    
    [self performSelector:@selector(fffff) withObject:nil afterDelay:2];
    NSLog(@"footerRereshing");
}



#pragma -mark UitabeViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    
    BiModifyContentViewController * contentVctrl = [[BiModifyContentViewController alloc] init];
    
    contentVctrl.mentity = _listArray[indexPath.row];
    
    [self.navigationController pushViewController:contentVctrl animated:YES];
}

#pragma -mark UitabeViewDatasource

- (NSInteger )tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    
    if (_listArray) {
        
        return _listArray.count;
    }
    
    return 0;
    
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    static NSString * myIdentify = @"BiModifyListCell";
    
    BiModifyListCell * cell = (BiModifyListCell *)[tableView dequeueReusableCellWithIdentifier:myIdentify];
    
    if (!cell) {
        
        cell =  [[[NSBundle mainBundle] loadNibNamed:@"BiModifyListCell" owner:self options:nil] lastObject];
        
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

    BiCarModifyEntity * mentity = _listArray[indexPath.row];

    [cell modifyDataFill:mentity];
    
    return cell;
}

#pragma -mark Net Delegate
- (void)onNetEngineResponse:(int)tag entity:(id)entity userInfo:(NSDictionary *)userInfo
{
    
    [self removeHUDView:self];
    
    NSDictionary * entity_ = (NSDictionary *)entity;
    
    [self showMessage:entity_[@"result_info"]];
    
    if ([entity_[@"response_status"] integerValue] != 200) {
        
        return;
        
    }
    
    [_tableView headerEndRefreshing];
    [_tableView footerEndRefreshing];
    [_listArray removeAllObjects];
    
    [_listArray addObjectsFromArray:entity_[@"data"]];
    
    [_tableView reloadData];
    
}
- (void)onNetEngineResponseFail:(int)tag entity:(id)entity userInfo:(NSDictionary *)userInfo
{
    
    [self removeHUDView:self];
    
    [self showMessage:@"请求超时！"];
}


@end
